package com.itcode.mapper;

import com.itcode.pojo.Article;
import org.apache.ibatis.annotations.*;

import java.util.List;

@Mapper
public interface ArticleMapper {

    /**
     * 新增
     * @param article
     */
    @Insert("insert into article(title, content, cover_img, state, category_id, create_user, create_time, update_time)" +
            "values (#{title},#{content},#{coverImg},#{state},#{categoryId},#{createUser},#{createTime},#{updateTime})")
    void add(Article article);

    /**
     * 分页查询（条件）
     * @param categoryId
     * @param state
     * @param userId
     * @return
     */
    List<Article> list(Integer categoryId, String state, Integer userId);

    /**
     * 根据id查询文章详情
     * @param id
     * @return
     */
    @Select("select * from article where id = #{id}")
    Article findById(Integer id);

    /*
    更新
     */
    @Update("update article set title = #{title}, content = #{content}," +
            "cover_img = #{coverImg},state = #{state}," +
            "update_time = #{updateTime} where id = #{id}")
    void update(Article article);

    /*
    删除
     */
    @Delete("delete from article where id = #{id}")
    void deleteById(Integer id);
}
